package com.iamteer.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
 * 自定义拦截器
 * @author Chuck
 *
 */
public class UserCheckInterceptor extends AbstractInterceptor{

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		ActionContext ac = invocation.getInvocationContext();
		// 拿到当前执行的方法名，只要不是 login，都需要验证
		ActionProxy proxy = invocation.getProxy();
		String methodName = proxy.getMethod();
		if (!"login".equals(methodName)) {
			// 先获取当前登录的用户
			Object obj = ac.getSession().get("userInfo");
			if (obj == null) {	// 没登录，返回登录
				return "input";
			} else {			// 已经登录，继续执行
				return invocation.invoke();
			}
		}else {					// 正在登录，继续执行
			return invocation.invoke();
		}
	}

}
